gtk_range_calc_marks (GtkRange *range)
{
GtkRangePrivate *priv = range->priv;
+ GdkRectangle slider;
gint i;
if (!priv->recalc_marks)
for (i = 0; i < priv->n_marks; i++)
{
- priv->need_recalc = TRUE;
- gtk_range_calc_layout (range, priv->marks[i]);
+ gtk_range_compute_slider_position (range, priv->marks[i], &slider);
+
if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
- priv->mark_pos[i] = priv->slider.x + priv->slider.width / 2;
+ priv->mark_pos[i] = slider.x + slider.width / 2;
else
- priv->mark_pos[i] = priv->slider.y + priv->slider.height / 2;
+ priv->mark_pos[i] = slider.y + slider.height / 2;
}
-
- priv->need_recalc = TRUE;
}
static gboolean